#ifndef MUSICLIST_H
#define MUSICLIST_H

#include <QVector>
#include <QList>
#include <QUrl>
#include <QMimeDatabase>
#include <QSet>
#include "music.h"

//MusicList是需要管理所有的Music对象的
class MusicList
{
public:
    MusicList();

    void addMusicsByUrl(const QList<QUrl>& musicUlrs);

    QVector<Music>::iterator begin();

    QVector<Music>::iterator end();

    typename QVector<Music>::iterator findMusicByMusicId(const QString& musicId);

    void writeToMusicDB(); //QQMusic退出的时候写入sqlite数据库

    void readFromDB(); //QQMusic启动的时候，从sqlite数据库中读取数据

private:
    QVector<Music> musicList;

    QSet<QString> musicPaths;
};

#endif // MUSICLIST_H
